package com.lib.service;


import com.lib.config.WxConfig;
import com.lib.config.WxCustomerConfig;
import com.lib.handler.*;
import com.lib.handler.customer.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 
 * @author Binary Wang
 *
 */
@Service
public class WxCustomerService extends BaseWxService {
  @Autowired
  private WxCustomerConfig wxConfig;

  @Autowired
  private CustomerLocationHandler locationHandler;
  
  @Autowired
  private CustomerMenuHandler menuHandler;
  
  @Autowired
  private CustomerMsgHandler msgHandler;
  
  @Autowired
  private CustomerUnSubscribeHandler unSubscribeHandler;
  
  @Autowired
  private CustomerSubscribeHandler subscribeHandler;

  @Autowired
  private CustomerScanHandler scanHandler;

  @Override
  protected WxConfig getServerConfig() {
    return this.wxConfig;
  }

  @Override
  protected MenuHandler getMenuHandler() {
    return this.menuHandler;
  }

  @Override
  protected SubscribeHandler getSubscribeHandler() {
    return this.subscribeHandler;
  }

  @Override
  protected UnsubscribeHandler getUnsubscribeHandler() {
    return this.unSubscribeHandler;
  }

  @Override
  protected AbstractHandler getLocationHandler() {
    return this.locationHandler;
  }

  @Override
  protected MsgHandler getMsgHandler() {
    return this.msgHandler;
  }


  @Override
  protected AbstractHandler getScanHandler() {
    return this.scanHandler;
  }

}
